Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[23.1] Backports for January CPU release #640

Merged
merged 8 commits into from
Dec 18, 2023

Conversation

zakkak
Copy link
Collaborator

@zakkak zakkak commented Dec 18, 2023

Closes #603
Closes #629
Closes #637

Doesn't include #585 (see #585 (comment))

zakkak and others added 7 commits December 18, 2023 13:56
Don't allow null values to be passed to the `register` method of
`RuntimeJNIAccess` and `RuntimeReflection`. Since these are public APIs
GraalVM should either handle null values (by ignoring them in this case)
or throw a `NullPointerException` before creating an asynchronous task
to perform the registration in the analysis, which then results in
`NullPointerException`s being thrown later when it's no longer possible
to understand where the null value originate from.

(cherry picked from commit e6c12dd)
(cherry picked from commit d621dbd)
Not before the register methods, which can miss cases, nor later on in a runnable.

(cherry picked from commit f94551a)
`destination` is the classpath GraalVM creates from parsing the jar
files passed to it. The ordering of the entries in the classpath is
important. Jar files themselves should be added before the entries of
their corresponding "Class-Path" attributes.

At the same time we want to process the contents of
`META-INF/native-image` of the entries in the "Class-Path" before
processing the contents of `META-INF/native-image` of the jar itself.
This is required to ensure that the jar `META-INF/native-image` contents
can override those of the entries in its "Class-Path".

As a result I chose to optimistically add the path to the classpath (aka
`destination`) and remove it afterwards if deemed necessary.

Fixes oracle#7677

(cherry picked from commit 5c0bfba)
(cherry picked from commit e7ee334)
@zakkak zakkak force-pushed the 2023-12-18-23.1-jan-cpu-backports branch from a78e314 to fed51dc Compare December 18, 2023 13:49
@jerboaa
Copy link
Collaborator

jerboaa commented Dec 18, 2023

IT main failure is: quarkusio/quarkus#37809
IT data 5 should be addressed with: quarkusio/quarkus#37813
IT misc 4 is: #642

@zakkak zakkak merged commit 01991b2 into graalvm:mandrel/23.1 Dec 18, 2023
64 of 67 checks passed
@zakkak zakkak deleted the 2023-12-18-23.1-jan-cpu-backports branch December 18, 2023 20:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
affects/23.1 backport OCA Verified All contributors have signed the Oracle Contributor Agreement.
Projects
None yet
4 participants